package com.hanhai.material.scan.entity;

import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.Table;
import java.io.Serializable;
import java.sql.Timestamp;
import java.util.Date;

import jdk.nashorn.internal.ir.annotations.Ignore;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 产品管理 实体类。
 *
 * @author youchuang
 * @since 2024/05/17 10:06:42
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(value = "product_info",dataSource = "scan")
public class ProductInfo implements Serializable {

    /**
     * 主键 产品管理
     */
    @Id
    private String id;

    /**
     * 产品名称
     */
    private String productname;

    /**
     * 产品规格
     */
    private String productspec;

    /**
     * 产品序列号位数
     */
    private Integer serialnodigits;

    /**
     * 产品序列号起始索引
     */
    private Integer serialnodigitsstartindex;

    /**
     * 产品码
     */
    private String productcode;

    /**
     * 产品码长度
     */
    private Integer productcodelength;

    /**
     * 产品码开始索引
     */
    private Integer productcodestartindex;

    private String productdateyeartype;

    private String productdatemonthtype;

    private String productdatedaytype;

    /**
     * 生产日期起始索引
     */
    private Integer productdatestartindex;

    /**
     * 生产日期长度
     */
    private Integer productdatelength;

    /**
     * 产品模号
     */
    private Integer productmodelcodestartindex;

    /**
     * 产品模号长度
     */
    private Integer productmodelcodelength;

    /**
     * 创建人
     */
    private String createuserid;

    /**
     * 创建时间
     */
    private Timestamp createtime;

    /**
     * 更新人
     */
    private String updateuserid;

    /**
     * 更新时间
     */
    private Timestamp updatetime;

    /**
     * 备注
     */
    private String summary;

    private String customername;

    private String labeltemplatepath;

    private String nowserialno;

    private Date nowcodeproductdate;

    private int painttimes;

    private boolean isshift;

    private boolean isline;

    private boolean hasmaterialversion;

    private String materialversion;

    private boolean islast;

    private String versioncode;

    private String hasdatelabel;

    private int datelabellength;

    private boolean hascustomermaterialid;

    private String customermaterialid;

    private boolean hasproductname;

    private boolean hasshift;

    private boolean hasfru;

    private String fru;
//    @Column(ignore = true)
//    private byte[] blobMode;



}
